package main

import "fmt"

func main() {

	//var a uint = 60      /* 60 = 0011 1100 */
	//var b uint = 13      /* 13 = 0000 1101 */
	//var c uint = 0
	//
	//c = a & b       /* 12 = 0000 1100 */
	//fmt.Printf("第一行 - c 的值为 %d\n", c )
	//
	//c = a | b       /* 61 = 0011 1101 */
	//fmt.Printf("第二行 - c 的值为 %d\n", c )
	//
	//c = a ^ b       /* 49 = 0011 0001 */
	//fmt.Printf("第三行 - c 的值为 %d\n", c )
	//
	//c = a << 2     /* 240 = 1111 0000 */
	//fmt.Printf("第四行 - c 的值为 %d\n", c )
	//
	//c = a >> 2     /* 15 = 0000 1111 */
	//fmt.Printf("第五行 - c 的值为 %d\n", c )

	var a = 4
	var b int32
	var c float32
	var ptr *int

	/* 运算符实例 */
	fmt.Printf("第 1 行 - a 变量类型为 = %T\n", a)
	fmt.Printf("第 2 行 - b 变量类型为 = %T\n", b)
	fmt.Printf("第 3 行 - c 变量类型为 = %T\n", c)

	/*  & 和 * 运算符实例 */
	ptr = &a /* 'ptr' 包含了 'a' 变量的地址 */
	fmt.Printf("a 的值为  %d\n", a)
	fmt.Printf("*ptr 为 %d\n", *ptr)
}
